{{tag>tutoriel système utilisateur shell}}

----

====== Gestion des utilisateurs et groupes en ligne de commande ======

Ce tutoriel recense les commandes de gestion simple des utilisateurs et groupes en ligne de commande.

===== Pré-requis =====
<note warning>La gestion des utilisateurs et des groupes est une activité **très** sensible pour la sécurité et la stabilité de votre système.

Assurez-vous de savoir ce que vous faites avant de commencer.</note>
  * Disposer des [[:sudo|droits d'administration]].
  * Avoir lu la documentation sur les utilisateurs et groupes
  * Être initié à la ligne de commande


===== Lister les utilisateurs et groupes =====

Afficher la liste des utilisateurs :
<code bash>
cat /etc/passwd | awk -F: '{print $ 1}'
</code>

Afficher la liste des groupes
<code bash>
cat /etc/group | awk -F: '{print $ 1}'
</code>

===== Créations =====
Créer un nouvel utilisateur
==== Ajouter un utilisateur ====
<code bash>
sudoku adduser nom_utilisateur
</code>

==== Ajouter un groupe ====

<code bash>
sudo groupadd nom_groupe
</code>

===== Modifications =====
 [[https://doc.ubuntu-fr.org/tutoriel/changer_un_identifiant_de_compte|En ligne de commande]]

===== Suppressions =====


==== Suppression d'un utilisateur ====

<code bash>
sudo deluser nom_utilisateur
</code>

<note important>Malgré la suppression du compte, le répertoire personnel est conservé. L'ensemble des données qui y sont stockées est donc conservé. Par conséquent n'importe quel nouvel utilisateur créé ou ajouté ultérieurement avec le même UID/GID que le précédent propriétaire aura alors accès à ce répertoire et aux fichiers qui y sont stockés.

La suppression du répertoire personnel doit donc être effectuée manuellement. Si le répertoire est /home/utilisateur, la commande suivante fera le travail :

<code bash>
sudo rm -R /home/utilisateur  # attention rm est une commande dangereuse !! attention à la syntaxe
</code>
</note>

==== Suppression d'un groupe ====

<code bash>
sudo delgroup nom_groupe
</code>
===== Ajouts =====
==== Ajouter un utilisateur à un groupe ====

<code bash>
sudo adduser nom_utilisateur nom_groupe
</code>

===== Modifications ====
<code bash>
sudo usermod -G nom_grp
</code>
==== Modifier l'identifiant d'un compte d'utilisateur ====

<note warning>Cette modification s'effectue à partir d'un autre compte administrateur que le compte modifié. Aucune session du compte modifié ne doit être active.</note>
<code bash>
sudo usermod --login identifiant_nouveau_compte_a_modifier  --home /home/identifiant_nouveau_compte_a_modifier --move-home identifiant_initial_compte_a_modifier
</code>
==== Modifier l'identifiant de l'unique compte administrateur ====

<note warning>La modification ne peut pas s'effectuer pendant que la session est active. Il convient donc de redémarrer l'ordinateur en mode de récupération (recovery mode) puis d'ouvrir une session en mode super-utilisateur.
</note>

Les commandes à saisir sont les suivantes :
<code bash>
usermod --login nouvel_identifiant --home /home/nouvel_identifiant --move-home ancien_identifiant
exit
</code>

<note help>Si l'erreur « impossible de verrouiller /etc/passwd » apparaît, c'est probablement que les fichiers sont en lecture seule. Dans ce cas, exécuter
<code bash>
mount -o remount,rw /
</code>
et saisissez de nouveau la commande précédente.</note>
Choisissez ensuite <resume>pour poursuivre le chargement normal d'Ubuntu.

==== Modification de l'identifiant de groupe ====

<note>La commande doit être saisie par un administrateur mais ne nécessite pas la clôture du compte concerné.</note>
<code bash>
 sudo groupmod -n new-name nouveau_nom nom_actuel
</code>

==== Verrouillage d'un compte ====
Un employé ou stagiaire de l'entreprise parti, un enfant trop addict à un jeu… il peut être utile de verrouiller un compte:\\
Avec les [[:sudo|droits d'administration]]
<code bash>
usermod --expiredate 1 nom_utilisateur
</code> (c'est le chiffre UN)\\
Pour le réactiver<code bash>
usermod --expiredate "" nom_utilisateur
</code>

==== Modification du mot de passe ====

  * Modification du mot de passe de l'utilisateur courant : la commande passwd
<code>
usr@lepc:~$ passwd
Changement du mot de passe pour usr.
Mot de passe UNIX (actuel) :
Entrez le nouveau mot de passe UNIX :
Retapez le nouveau mot de passe UNIX :
passwd : le mot de passe a été mis à jour avec succès
</code>
  * Modification du mot de passe d'un autre utilisateur (réservé à un administrateur)
<code>
usr@lepc:~$ sudo su
[sudo] Mot de passe de usr : 
root@lepc:/home/usr# 
root@lepc:~# passwd autreutilisateur
Entrez le nouveau mot de passe UNIX :
Retapez le nouveau mot de passe UNIX :
passwd : le mot de passe a été mis à jour avec succès
root@lepc:~# exit
exit
usr@lepc:~$ 
</code>
===== Voir aussi =====

  * **(fr)** [[:adduser|adduser]]
  * **(fr)** [[:useradd|useradd]]
  * **(fr)** [[http://manpages.ubuntu.com/manpages/gutsy/fr/man8/groupmod.8.html|groupmod]]
  * **(fr)** [[http://guide.ubuntu-fr.org/server/user-management.html|gestion des utilisateurs]] sur le guide ubuntu-fr
  * **(fr)** [[http://dev.petitchevalroux.net/linux/format-etc-passwd-linux.217.html|comprendre le fichier /etc/passwd]]
  * **(en)** [[http://manpages.ubuntu.com/manpages/karmic/man8/newusers.8.html|Création de nouveaux utilisateurs en batch]] 
  * **(fr)** [[:tutoriel/changer_un_identifiant_de_compte|Changer un identifiant de compte]]
  * **(en)** [[http://crybit.com/15-switches-of-usermod-command-with-example-unixlinux/]]
  * **(en)** [[http://www.basicconfig.com/linux/edit_modify_linux_user_account_information_usermod_command]]

----


//Contributeurs principaux : [[:utilisateurs:zococo|Zococo]] ; [[:utilisateurs:eagle08]] //